/*
 * @Description:
 *  
 * @Date: 2021-05-12 15:39:36
 */
import Tools from '@/utils/utils'
// 请求门店
export const shopMixin = {
  data() {
    return {
      shopCodeList: [], // 门店列表
      shopSelectQueryType: 'shopName', // 默认搜索门店类型
    }
  },
  created() {
    this.shopList()
  },
  methods: {
    // 搜索门店
    shopList(name = '') {
      let data = {
        pageNum: 1,
        pageSize: name ? 40 : 20,
        name,
      }
      this.$api.shop.pageList(data).then((res) => {
        if (+res.data.code === 0) {
          let result = res.data.data.records || []
          this.shopCodeList = result.map((item) => {
            item.name = item.name + '/' + item.storeCode
            item.value = item.storeCode
            return { ...item }
          })
        }
      })
    },
  },
}

// 请求公司
export const companyMixin = {
  data() {
    return {
      companyCodeList: [], // 公司列表
    }
  },
  created() {
    this.companyList()
  },
  methods: {
    // 请求公司
    companyList(name = '') {
      this.$api.shop.subcompanyList({ name }).then((res) => {
        if (+res.data.code === 0) {
          let result = res.data.data || []
          this.companyCodeList = result.map((item) => {
            return { ...item }
          })
        }
      })
    },
    // 以code获取基本商品信息
    getCompanyInfoByCode(code) {
      if (Tools.isEmpty(code)) {
        return {}
      }
      let o = this.companyCodeList.find((item) => item.code === code)
      return o || {}
    },
  },
}
// 设备型号列表
export const deviceModelMixin = {
  data() {
    return {
      deviceModelList: [], // 公司列表
    }
  },
  created() {
    this.getDeviceModelList()
  },
  methods: {
    getDeviceModelList() {
      this.$api.terminal.deviceModelList().then((res) => {
        if (+res.data.code === 0) {
          let result = res.data.data || []
          this.deviceModelList = result.map((item) => {
            return { name: item, value: item }
          })
        }
      })
    },
  },
}
// 请求基本商品列表
export const spuNameMixin = {
  data() {
    return {
      spuNameList: [], // 公司列表
    }
  },
  created() {
    this.getSpuNameList()
  },
  methods: {
    // 请求基本商品
    getSpuNameList(nameOrCode = '') {
      this.$api.goods.spuBaseList({ nameOrCode }).then((res) => {
        if (+res.data.code === 0) {
          let result = res.data.data || []
          this.spuNameList = result.map((item) => {
            return { ...item, value: item.id }
          })
        }
      })
    },
    // 以code获取基本商品信息
    getBaseGoodsInfoById(id) {
      if (Tools.isEmpty(id)) {
        return {}
      }
      let o = this.spuNameList.find((item) => Number(item.id) === Number(id))
      return o || {}
    },
  },
}
// // 请求商品管理列表
// export const itemNameMixin = {
//   data() {
//     return {
//       itemNameList: [], // 公司列表
//     }
//   },
//   created() {
//     this.getItemNameList()
//   },
//   methods: {
//     // 请求基本商品
//     getItemNameList(nameOrCode = '') {
//       this.$api.goods.itemBaseList({ nameOrCode }).then((res) => {
//         if (+res.data.code === 0) {
//           let result = res.data.data || []
//           this.itemNameList = result.map((item) => {
//             return { ...item, value: item.id }
//           })
//         }
//       })
//     },
//     // 以code获取基本商品信息
//     getItemGoodsInfoById(id) {
//       if (Tools.isEmpty(id)) {
//         return {}
//       }
//       let o = this.itemNameList.find((item) => Number(item.id) === Number(id))
//       return o || {}
//     },
//   },
// }

export let RangePickerOptionsMixin = {
  data () {
    return {
      pickerOptions: {
        shortcuts: [{
          text: '最近一周',
          onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
            picker.$emit('pick', [start, end]);
          }
        }, {
          text: '最近一个月',
          onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
            picker.$emit('pick', [start, end]);
          }
        }, {
          text: '最近三个月',
          onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
            picker.$emit('pick', [start, end]);
          }
        }]
      },
    }
  },
  methods:{},
  created(){}
}